package prototype.flyGameDemo.modify;

import lombok.Data;

/**
 * @author： pang-yun
 * @date： 2021-10-22 17:25
 * 功能目的 ：用于
 */
@Data
public class EnemyPlane implements Cloneable{
    // 敌机横坐标
    private int x;

    // 敌人纵坐标
    private int y = 0;

    // 子弹  引用对象  深拷贝时许多处理
    private Bullet bullet ;

    public EnemyPlane(int x, Bullet bullet) {
        this.x = x;
        this.bullet=bullet;
    }

    // 让敌机飞
    public void fly(){
        //调用一次 纵坐标 加 1
        y++;
    }

    // clone  后 飞机 坐标 一样  应该开放 x  使飞机个性化
    public void setX(int x) {
        this.x = x;
    }

    @Override
    protected EnemyPlane clone() throws CloneNotSupportedException {

        EnemyPlane enemyPlane  = (EnemyPlane) super.clone();
        // 深拷贝  不然 只是 传递了引用值
        enemyPlane.bullet=bullet.clone();
        return  enemyPlane;
    }
}
